package _220319;

import java.util.Scanner;

/**
 * @author ShadowLim
 * @create 2022-03-19-13:01
 */
public class _夺宝奇兵 {

    /**
     * 解题思路:这道题条件没有说清楚，这道题人不能往右走，且只能往上走或者走左上角
     * 注意事项:当 i==j 的时候不能往上走，如果没有限制的话会超时
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[][] baozang = new int[n][n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                baozang[i][j] = scanner.nextInt();
            }
        }
        System.out.println(maxCnt(baozang, n));
    }

    private static int maxCnt(int[][] baozang, int n) {
        for (int i = n - 2; i >= 0; i--) {
            for (int j = 0; j <= i; j++) {
                int max = baozang[i + 1][j] > baozang[i + 1][j + 1] ? baozang[i + 1][j] : baozang[i + 1][j + 1];
                baozang[i][j] += max;
            }
        }
        return baozang[0][0];
    }
}
